专栏/小小输入法挂接双拼及使用说明

小小输入法挂接双拼及使用说明

2023年06月27日 03:51--浏览 · --点赞 · --评论
粉丝:11文章:1

小小输入法简介

小输入法是一款可定制的输入法平台,集成永码、86五笔、拼音、郑码、张码、二笔、英文等输入方案于一体,可挂接任意【形码】【音形码】【笔划】等输入法码表(包括大、小键盘数字编码)。具有临英、联想、并击、直通车、云端输入、密码输入等多项功能。Window、Linux和Android系统均适用,windows支持从xp到win11,还自带云端同步功能,可谓是相当强大,个人感觉毫不逊色于国内主流输入法以及RIME、多多等输入法平台。

官方论坛:http://yong.dgod.net/

以下主要以小鹤双拼方案为例讲解小小输入法的双拼挂载使用方法及规则参数设置等,对于其它双拼用户也具有通用性,可参考设置。本教程适合对小小输入法有一定基础的用户学习使用,由于本人非双拼用户,部分内容参考了小鹤官方文档简介。

一、小鹤双拼按键和规则

  • 全拼中有几个音节是没有声母的, 没有声母即零声母:a、an、ai、ao、ang、e、en、ei、er、eng、o、ou

  • 全拼中这几个没有声母的音节可以直接打韵母,双拼则需要把这个零声母实质化,于是就有了零声母方案

  • 单一零声母方案(又称固定零声母方案),如微软双拼方案:固定一个字母做零声母 + 韵母所在键

  • 三分零声母方案(又称非固定零声母方案),如加加双拼方案:韵母首字母为零声母 + 韵母所在键

  • 小鹤双拼或自然双拼方案:唯一区别就是双字母音节保持全拼方式不变,如ai en ou er,一三字母音节为:首字母+韵母所在键,如:ee(e)、ah(ang)

二、拼音转小鹤双拼规则

(一)23个声母按键

b p m f d t n l g k h j q x zh ch sh r z c s y w 其中zh ch sh分别用v i u按键代替,其余不变

(二)24个韵母按键

单韵母6个:a o e i u ü 其中a o e作单音节声母时用aa oo ee代替,作韵母时不变。i u ü只能作韵母,分别用i u v表示

复韵母9个:ai ei ui ao ou iu ie üe er 分别对应:d  w  v  c  z  q  p  t  er(零声母)

前鼻韵5个:an en in un ün 分别对应:j f b y y

后鼻韵4个:ang eng ing ong 分别对应:ah eg k s

整体认读16个:zhi chi shi ri zi ci si yi wu yu ye yue yuan yin yun ying 分别对应:vi  ii  ui  ri zi ci si yi wu yu ye yt  yr yb yy yk

介母3个:i u ü 其中ü与n、l在一起时使用写作nü、lü,和j、q、x、y在一起使用写作ju、qu、xu、yu注1

(三)特殊韵音键处理

不同于自然码的韵音有15个:ai ao ei er ia ie in ing iao ou ua un uai uang iang

非韵母音节有10个:uan ve(üe) uo iong uai uang ia ua iao ian,对应按键如下: uan->r ve(üe)->t uo->o iong->s uai->k uang->l ia->x ua->x iao->n ian->m

以上2种音节不同双拼方案对应的按键可能不同,均需要定制相应双拼规则文件才能实现双拼挂载

三、sp文件规则定制方法

在拼音中挂接双拼方案(小鹤双拼、微软双拼等),最重要的是制作双拼规则文件,该文件后缀为.sp,文件名可自定义,例如hepy.sp。文件编码格式为GB18030(或者GB2312、GBK),最好不要使用UTF-8编码。

规则说明:每行一个全拼和双拼的对应,格式为全拼 【声母+韵音】,如bai bd。如果双拼和自然码规则一致可以不设置规则,主要有:a ai an ang ao e en er o ou 

无需设置规则的音节
无需设置规则的音节

以下为sp文件定制规则示例:

#小鹤双拼
#制作:by 初一的阳光 20230626
#本文件可通过http://yong.dgod.net/edit/sp.html自动生成,但似乎不全面,建议纯手工打造
#更新历史(新版中若未加入以下规则可能会导致候选不出字)
#20221010加入eng  音处理
#20230108加入chua 音处理
#20230226加入biang音处理
#20230311加入rua  音处理
#20230311加入tei  音处理
#零声母处理(默认与自然码一致可不设置)
#ang ah
bai bd
bao bc
bei bw
biang bl
biao bn
bie bp
bin bb
bing bk
cai cd
cao cc
chai id
chao ic
chou iz
chua ix
chuai ik
chuang il
chun iy
cou cz
cun cy
dai dd
dao dc
dei dw
dia dx
diao dn
die dp
ding dk
dou dz
dun dy
eng eg
fei fw
fou fz
gai gd
gao gc
gei gw
gou gz
gua gx
guai gk
guang gl
gun gy
hai hd
hao hc
hei hw
hou hz
hua hx
huai hk
huang hl
hun hy
jia jx
jiang jl
jiao jn
jie jp
jin jb
jing jk
jun jy
kai kd
kao kc
kei kw
kou kz
kua kx
kuai kk
kuang kl
kun ky
lai ld
lao lc
lei lw
lia lx
liang ll
liao ln
lie lp
lin lb
ling lk
lou lz
lun ly
mai md
mao mc
mei mw
miao mn
mie mp
min mb
ming mk
mou mz
nai nd
nao nc
nei nw
niang nl
niao nn
nie np
nin nb
ning nk
#程序暂未支持的音
#nun ny
nou nz
pai pd
pao pc
pei pw
piao pn
pie pp
pin pb
ping pk
pou pz
qia qx
qiang ql
qiao qn
qie qp
qin qb
qing qk
qun qy
rao rc
rou rz
rua rx
run ry
sai sd
sao sc
shai ud
shao uc
shei uw
shou uz
shua ux
shuai uk
shuang ul
shun uy
sou sz
sun sy
tai td
tao tc
tei tw
tiao tn
tie tp
ting tk
tou tz
tun ty
wai wd
wei ww
xia xx
xiang xl
xiao xn
xie xp
xin xb
xing xk
xun xy
yao yc
yin yb
ying yk
you yz
yun yy
zai zd
zao zc
zei zw
zhai vd
zhao vc
zhei vw
zhou vz
zhua vx
zhuai vk
zhuang vl
zhun vy
zou zz
zun zy

注意事项:

1.此文件不能有空行,文件编码应设为GB2312、GBK或GB18030,否则会出现乱码

2.如果根目录和配置文件目录中同时存在多个sp文件时会优先使用.yong目录中的文件

3.第一行的注释为图形设置界面的显示名称(输入法->拼音->双拼),无注释则显示该文件名

双拼图形设置界面

四、设置双拼及相关技巧

小小输入法双拼是在拼音(全拼)的码表基础上外挂双拼规则文件来实现的,要想使用双拼需要掌握如何挂载,如何启用,以及如何快速的切换方案。以下小鹤双拼为例进行讲解:

(一)挂载双拼方法

  1. 将上节中的示例代码保存为hepy.sp文件,将其放在输入法根目录或用户配置目录中(%APPDATA%\yong.yong),并在yong.ini中设置[pinyin]->sp=hepy(不带.sp后缀)即可启用双拼。若要使用自然码双拼可设sp=zrm

  2. 配置文件中设置overlay=mb/sp.ini或打开图形设置界面选择“输入法->拼音->双拼”注2,下拉菜单中选择相应双拼方案。此步目的是使用sp.ini专项配置文件(取消tEN bihua参数),以适配双拼输入规则。

  3. 重启/重载输入法即可进行双拼输入。

配置目录文件结构

(二)高级配置技巧

  1. 专项配置文件须知。为有更良好的双拼使用体验,建议将双拼的一些专有设置保存到sp.ini中,如连续间接辅助码、自定义短语的分词库等,相关参数设置和说明请查看双拼专项配置文件说明

  2. 直通车的使用技巧。新版输入法中提供了yong-config.exe --set程序调用方法,可利用直通车快速在双拼和全拼中切换配置文件。具体方法如下:

#在拼音码表或用户词库中设置直通车词条
quanpin $GO([切换全拼],yong-config.exe$_--set$_pinyin$_overlay$_"mb/pinyin.ini"$_--reload)
vu $GO([切换双拼],yong-config.exe$_--set$_pinyin$_overlay$_"mb/sp.ini"$_--reload)

若需更精准的切换,可在专项配置文件的分词库(用户词库)中设置切换全拼和双拼的直通车

GIF
全拼双拼切换
直通车快速切换配置

(三)有关功能说明

  1. 双拼简单使用说明。双拼支持用shift+[a-z]快速定位编码位置。支持一键简拼功能,即在输入时,按单引号'可切换简拼模式,比如输入jua按'输出“就是啊”。最常用的是使用辅辅码,请看下节。

  2. 双拼使用注意事项。拼音码表中支持自定义短语(非正常拼音编码),但双拼时可能有问题。目前双拼不支持符号如; / .等作为编码,也不完全支持$[]、$|等用法,如直通车ykh $[圆括号]($|)不会显示这个候选(需要加一组正常的编码ykh 圆括号才显示)。

自定义词条问题
双拼使用问题说明

五、设置和使用拼音辅助码

辅助码的作用是在正常编码之外输入额外编码,以达到筛选候选项减少重码的目的,由[pinyin]->assist参数指定,如assist=mb/yong.txt 2,表示使用永码的第3码,即形部编码。辅助码分为间接辅助码和直接辅助码。注3

(一)辅助码的定义

  • 间接辅助码。是在正常输入编码之后先按一个引导键(TAB键)进入间接辅助码模式,然后再输入辅助码,作一次筛选,减少候选的数量。

  • 直接辅助码。在正常编码之后直接输入辅助码(多为音形码的形部),比如输入“zici”,候选有“自此、字词”,此时再继续输入y如 ziciy ,“字词”就会位于首选。识别规则:单字识别汉字形部首码,词语和句子识别末字首码,例如打 vijpf 得到“直接”。注4

(二)辅助的的使用

  1. 间接辅助码的使用。默认按TAB注5之后第一个按键识别为辅助码,再输入时则为正常后续编码,在设置[pinyin]->assist_series=1后为连续间接辅助码,TAB键之后可连续输入不同按键直到筛选出合适的字。比如打“一个线程”,输入yigexmig由于词库中没有这个词,得到的会是“一个县城”,这时可按TAB键,然后逐一输入辅助码a r s t并选择需要的字即可。

  2. 直接辅助码的使用。双拼支持输入直接辅助码和间接辅助码。比如要打“移除”,只需输入yiiue,此时就会将该词筛至首选,或按照间接辅助码的方式输入yiiuTABh,也可筛选出来。双拼还支持单字双拼双辅,即正常编码后再连续输入2位辅助码,然后按TAB键得到相应单字,比如要打“辐”字,可输入fuit,默认在首选中是其它无用的词,再按TAB键就筛出“辐”字。

  3. 辅助码的使用问题。辅助码也不一定都准确或者说智能的,例如打“一个线程”,想使用直接辅助码来输入yigexmigh,却输出的是“一个县程”。因为词库中有“一个县”这个词,输入法不知道你需要的是“一个”还是“一个县”,这时可按切分键将yige和xmigh进行正确切分就能得到合适的词注6,或者使用间接辅助码来输入,看哪种方式方便就选用哪种。

GIF
辅助码使用演示
辅助码使用演示
GIF
间接辅助码
连续与非连续间接辅助码

附:双拼专项配置文件说明

#名称:双拼专项配置文件(附部分问题说明)
[IM]
overlay=libmb.so mb/pinyin.txt
#自动调频,0禁用调频(默认),1快速调频,2比较慢点的调频(逐次上移)
auto_move=2
#高级编码提示,用于候选编码的美化,具体用法详见官方帮助文档
key_desc=mb/sp.dsc

[key]
#切分编码长度,用来匹配字词的编码位置(拼音输入法的特定设置),与py_switch_save配合使用
py_switch=LCTRL
#一键到简拼,与[pinyin]->simple=1配合使用(该设置已弃用)
#简拼功能:按单引号切换正常/简拼模式,仅挂载双拼时使用,目前已规定为单引号'键,不能再更改
#比如输入wm,为非正常双拼编码自动进入简拼模式,输入jua按'输出“就是啊”,再按单引号来回切换
#py_simple='

[pinyin]
#切换方案时显示此名称,注意在手机中无效,原因是在没加载输入方案时不会额外加载配置文件
name=双拼
#设置拼音输入法语料库,简拼会检索语料库(仅在[pinyin]这一节有效,其它自定义设置无效)
predict=mb/pypre.bin
#设置简拼功能(双拼挂载时才有效),按'号开/关简拼,0或不设置禁用(默认),1启用
#启用后输入wm输出“我们”(与语料库有关),不启用则出“我吗”(类似单字一简合并出词)
#注1:目前simple参数只在[pinyin]下有效,在其它[xxxx]无效
#注2:输出简拼时优先显示用户词库中的内容(20221108)
simple=1
#指定分词库,可以指定目录或文件(要指定路径的话,用\\代替一个\,或者用/代替\)
dicts=mb/pinyin/pinyinkz.txt mb/pinyin/sogou
#固顶词库,格式同用户词库,一个编码对应一个候选,编码最长度为8,20230503取消的限制
pin=mb/pinyin/top.txt
#切分编码保存设置,即调整编码长度时否添加到户词库中(拼音特定参数),0不保存,1保存
py_switch_save=1
#使用句尾直接辅助码选字时保存到用户词库(20230611挂载双拼时有效),默认0不保存,1保存
py_assist_save=0
#辅助码设置,格式为“码表+空格+辅助码开始的位置”,辅助码位置从0编码起算,如2表示编码中第三位
#全拼只支持1位间接辅助码,挂双拼时支持间接辅助码、句末直接辅助码和单字双拼双辅(需按TAB键)
#以下设置小鹤音形为辅码,其实也可以用五笔等形码,如mb/wbx.txt 0,但其码表必须GB18030编码
#注:不设置时默认自然码的辅助码
#注:旧版仅在主码表中设置才有效,20221112支持在配置文件中设置[xxxx]->assist自定义辅码表
assist=mb/xhdz.txt 2
#连续间接辅助码设置,0或不设置为非连续间接辅助码(默认),1连续
#设0时TAB键后第一个按键识别为辅助码,再输入就是正常后续编码打字
#设1时TAB键后均识别为辅助码,不再识别为编码,直到筛选出合适的字
assist_series=1
#挂接双拼方案,自然码及其辅码sp=zrm,其它需自行设置规则文件(参考.sp文件)
#注1:不设置或值为空时默认为全拼。双拼支持用shift+[a..z]快速定位编码位置
#注2:双拼不支持符号(如;/.等)作为编码,$[]、$|等用法也不支持(或有问题)
sp=hepy

[shuangpin]
#此节无效,仅作问题说明
#由于语料库仅设置在[pinyin],双拼挂接最好不单独设方案,否则简拼可能会有问题
#要想实现全拼和双拼切换,最好的方式是使用直通车,方法略

[table]
#万能键设置,优先于码表中的wildcard的设置
#wildcard=v


教程结束

如在设置和使用有任何问题,敬请反馈,我再进一步完善!


[^注1]:yu是整体认读音节。

[^注2]:图形设置界面默认使用mb/sp.ini文件。

[^注3]:全拼只支持间接辅助码,双拼两种都支持且还支持单字双拼双辅。

[^注4]:直接辅助码的好处是比间接辅助码少按TAB键,坏处是容易把正常编码和辅助码混。

[^注5]:间接码引导键默认是TAB,故其它按键定义时请勿与其冲突,比如切分按键[key]->py_switch等。

[^注6]:切分编码后,编码igh不会将h作为辅助码,因为igh可能会组成“成和”一词。

投诉或建议